package com.lv.common

import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import com.lv.common.im.push.OfflineMessageDispatcher
import com.lv.common.utils.YgxUtilsKt
import com.lv.common.widget.share.ShareDialogFragment
import com.lv.common.widget.share.ShareDialogWxCopeFragment
import com.tencent.qcloud.tuicore.TUILogin
import com.tencent.qcloud.tuicore.interfaces.TUICallback

/**
 * 全局的API接口。
 *
 */
object YgxManager {

    /**
     * 获取全局Context，在代码的任意位置都可以调用，随时都能获取到全局Context对象。
     *
     * @return 全局Context对象。
     */
    @SuppressLint("StaticFieldLeak")
    var context: Context? = null
        private set

    /**
     * 初始化接口。这里会进行应用程序的初始化操作，一定要在代码执行的最开始调用。
     *
     * @param c Context参数，注意这里要传入的是Application的Context，千万不能传入Activity或者Service的Context。
     */
    fun initialize(c: Context?) {
        context = c
    }


    /**
     * 弹出分享对话框。
     *
     * @param activity 上下文
     * @param shareContent 分享内容
     */
    fun showDialogShare(
        activity: Activity,
        shareTitle: String,
        shareContent: String,
        shareUrl: String,
        shareImage: String
    ) {
        if (activity is AppCompatActivity) {
            ShareDialogFragment().showDialog(
                activity,
                shareTitle,
                shareContent,
                shareUrl,
                shareImage
            )
        }
    }


    /**
     * 弹出分享对话框。
     *
     * @param activity 上下文
     * @param shareContent 分享内容
     */
    fun showDialogWXCopeShare(
        activity: Activity,
        shareTitle: String,
        shareContent: String,
        shareUrl: String,
        shareImage: String
    ) {
        if (activity is AppCompatActivity) {
            ShareDialogWxCopeFragment().showWXCopeDialog(
                activity,
                shareTitle,
                shareContent,
                shareUrl,
                shareImage
            )
        }
    }


}